package com.mobile.service.dto;
import com.mobile.service.dto.base.BaseDTO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 工单表
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class WorkOrderDTO extends BaseDTO {
    @Schema(description = "工单的唯一标识", accessMode = Schema.AccessMode.READ_ONLY)
    private Integer workOrderId;

    @Schema(description = "工单的业务编号", requiredMode = Schema.RequiredMode.REQUIRED)
    private String workOrderNo;

    @Schema(description = "险种类型", requiredMode = Schema.RequiredMode.REQUIRED)
    private String insuranceType;

    @Schema(description = "申报人唯一标识", requiredMode = Schema.RequiredMode.REQUIRED)
    private String applicantId;

    @Schema(description = "申请表单信息关联ID", requiredMode = Schema.RequiredMode.REQUIRED)
    private Integer applicationFormId;

    @Schema(description = "紧急程度", requiredMode = Schema.RequiredMode.REQUIRED)
    private String urgencyLevel;

    @Schema(description = "业务属地", requiredMode = Schema.RequiredMode.REQUIRED)
    private String businessLocation;

    @Schema(description = "分配状态", requiredMode = Schema.RequiredMode.REQUIRED)
    private String allocationStatus;

    @Schema(description = "分配状态名称", accessMode = Schema.AccessMode.READ_ONLY)
    private String allocationStatusName;

    @Schema(description = "处理科室ID", requiredMode = Schema.RequiredMode.REQUIRED)
    private Integer handlingDepartmentId;

    @Schema(description = "处理业务员ID", requiredMode = Schema.RequiredMode.REQUIRED)
    private String handlingStaffId; // 修改为 String 类型

    @Schema(description = "创建人姓名", accessMode = Schema.AccessMode.READ_ONLY)
    private String createUserName;

    @Schema(description = "处理人姓名", accessMode = Schema.AccessMode.READ_ONLY)
    private String handlingStaffName;

    @Schema(description = "分派原因", requiredMode = Schema.RequiredMode.REQUIRED)
    private String allocationReason;

    @Schema(description = "预设分配规则ID", requiredMode = Schema.RequiredMode.REQUIRED)
    private Integer presetRuleId;

    @Schema(description = "派工类型", requiredMode = Schema.RequiredMode.REQUIRED)
    private String dispatchType;

    @Schema(description = "补正信息关联ID", requiredMode = Schema.RequiredMode.REQUIRED)
    private Integer supplementInfoId;


    private String allocationRule;
    private String designatedStaff;

    private String  applicantPhone;
    private String  applicantIdNumber;
    private String  applicantName;


    private Integer pendingWorkOrders;
    private Integer todayNewWorkOrders;
    private Integer assignedWorkOrders;
    private Integer returnedWorkOrders;

    private Integer documentId;

}
